package com.telchina.workorder.service;

import java.util.List;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.telchina.common.core.domain.AjaxResult;
import com.telchina.workorder.domain.WoReturnVisit;

/**
 * 回访单Service接口
 *
 * @author konghao
 * @date 2023-02-21
 */
public interface IWoReturnVisitService extends IService<WoReturnVisit> {
    /**
     * 查询回访单
     *
     * @param id 回访单ID
     * @return 回访单
     */
    public WoReturnVisit selectById(String id);

    /**
     * 分页查询回访单列表
     *
     * @param woReturnVisit 回访单
     * @return 回访单集合
     */
    public IPage<WoReturnVisit> selectList(IPage<WoReturnVisit> page, WoReturnVisit woReturnVisit);

    /**
     * 查询所有回访单列表
     *
     * @param woReturnVisit 回访单
     * @return 回访单集合
     */
    public List<WoReturnVisit> selectListAll(WoReturnVisit woReturnVisit);

    /**
     * 新增回访单
     *
     * @param woReturnVisit 回访单
     * @return 结果
     */
    public AjaxResult insert(WoReturnVisit woReturnVisit);

    /**
     * 修改回访单
     *
     * @param woReturnVisit 回访单
     * @return 结果
     */
    public int update(WoReturnVisit woReturnVisit);

    /**
     * 批量删除回访单
     *
     * @param ids 需要删除的回访单ID
     * @return 结果
     */
    public int deleteByIds(String[] ids);

    /**
     * 删除回访单信息
     *
     * @param id 回访单ID
     * @return 结果
     */
    public int deleteById(String id);

    /**
     * 根据工单id获取最新的一条回访单
     * @param workOrderNumber
     * @return
     */
    WoReturnVisit selectNewOneByWorkOrderNumber(String workOrderNumber);
}
